7929
3304
Právě jsem nainstaloval Python 3.6.1 pro MacOS X
Když se pokusím spustit konzolu (nebo spustit cokoli s Python3), je vyvolána tato chyba:
AttributeError: modul 'enum' nemá žádný atribut 'IntFlag'
$ /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
Import modulu webu se nezdařil
Traceback (poslední hovor poslední):
Soubor "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", řádek 544, v 
hlavní()
Soubor „/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py“, řádek 530, hlavní
known_paths = addusersitepackages (known_paths)
Soubor „/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py“, řádek 282, v addusersitepackages
user_site = getusersitepackages ()
Soubor „/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py“, řádek 258, v getusersitepackages
user_base = getuserbase () # toto nastaví také USER_BASE
Soubor „/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py“, řádek 248, v getuserbase
USER_BASE = get_config_var ('userbase')
Soubor "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/sysconfig.py", řádek 601, v get_config_var
návrat get_config_vars (). get (name)
Soubor "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/sysconfig.py", řádek 580, v get_config_vars
importovat _osx_support
Soubor "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/_osx_support.py", řádek 4, v 
import re
Soubor "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/re.py", řádek 142, v 
třída RegexFlag (enum.IntFlag):
AttributeError: modul 'enum' nemá žádný atribut 'IntFlag'
Třída IntFlag existuje v enum.py. Proč je tedy vyvolána AttributeError? 
Je to proto, že vaše enum není standardní modul enum knihovny. Pravděpodobně máte nainstalovaný balíček enum34.
Jedním ze způsobů, jak zkontrolovat, zda tomu tak je, je zkontrolovat výčet vlastností .__ file__
importovat výčet
print (enum .__ file__)
# standardní umístění knihovny by mělo být něco jako
# /usr/local/lib/python3.6/enum.py
Od pythonu 3.6 knihovna enum34 již není kompatibilní se standardní knihovnou. Knihovna je také zbytečná, takže ji můžete jednoduše odinstalovat.
pip uninstall -y enum34
Pokud potřebujete, aby se kód spouštěl na verzích pythonu <= 3,4 a> 3,4, můžete zkusit jako požadavek mít enum-compat. Instaluje pouze enum34 pro starší verze pythonu bez standardního enum knihovny.
|
Nejste si jisti, zda stále máte tento problém. Měl jsem podobný problém a dokázal jsem ho vyřešit jednoduše zrušením nastavení PYTHONPATH
$ unset PYTHONPATH
|
Pro mě tato chyba nastala po instalaci komponenty gcloud app-engine-python za účelem integrace do pycharm. Odinstalace modulu pomohla, i když se pycharm nyní nenahrává do enginu aplikace.
|
Pokud sem někdo přijde kvůli této chybě při spuštění projektu Google Python 3.7 standardního prostředí v PyCharm, pak vše, co musíte udělat, je
Ujistěte se, že konfigurace, kterou chcete spustit, je pro Flask, nikoli pro konfiguraci Google App Engine.
Poté deaktivujte podporu Google App Engine v části Předvolby >> Jazyky a rámec >> Google App Engine
Důvod je podle tohoto odkazu
Celkovým cílem je, aby byla vaše aplikace plně přenosná a mohla běžet v jakémkoli standardním prostředí Pythonu. Píšete standardní aplikaci Pythonu, nikoli aplikaci App Engine Python. V rámci tohoto posunu již není nutné používat pro základní funkce vaší aplikace proprietární API a služby App Engine. V tuto chvíli nejsou API App Engine v běhovém prostředí Pythonu 3.7 k dispozici.
Myslím, že když vytvoříme projekt Python 3.7 v PyCharm jako projekt aplikace Google, stále se pokouší dělat to samé jako pro aplikaci Python2.7
|
Zřeknutí se odpovědnosti: Prosím, @ juanpa.arrivillaga, pokud uvidíte tuto odpověď, neváhejte napsat vlastní a já tento příspěvek odstraním.
@ juanpa.arrivillaga zmínil výše:
Je ve vašem pracovním adresáři náhodou název souboru enum.py?
S tímto problémem jsem se setkal. V té době jsem nevěděl o modulu enum na pythonu a pojmenoval jsem svůj testovací soubor enum.py.
Protože název souboru je název modulu, došlo ke konfliktu. Více informací o modulech naleznete zde: https://docs.python.org/2/tutorial/modules.html
|
Tento problém se mi vyřešil deaktivací podpory „Google App Engine“ v předvolbách pycharm.
|
Instalace verze 1.1.8 enum34 fungovala pro mě.
Byl jsem schopen to opravit přidáním enum34 = "== 1.1.8" do pyproject.toml.
Enum34 měl ve verzi v1.1.8 funkci, která se této chybě vyhnula, ale
toto ustoupilo ve verzi 1.1.9 +. Toto je však pouze řešení. The
lepším řešením by bylo, kdyby balíčky používaly značky prostředí
pokud není potřeba, nemusíte enum34 instalovat vůbec.
Zdroj: https://github.com/python-poetry/poetry/issues/1122
|
Odpověď Håken Lid pomohla vyřešit můj problém (díky!), V mém případě přítomném v Python3.7 běžící Flask v kontejneru Docker (FROM tiangolo / uwsgi-nginx-flask: python3.7-alpine3.7).
V mém případě byl enum34 instalován jinou knihovnou (pip install smartsheet-python-sdk).
Pro ty, kteří přicházejí s podobným problémem s kontejnerem Docker, je zde můj poslední Dockerfile (zbavený příslušných řádků):
Z Tiangolo / uwsgi-nginx-baňky: python3.7-alpine3.7
...
RUN pip install -r requirements.txt
RUN pip uninstall -y enum34
...
|
V případě, že musíte zachovat PYTHONPATH pro python2 i python3, můžete napsat příkazy alias a nastavit správnou PYTHONPATH ve vašem bash_profile:
Pevně ​​zakódujte své proměnné PYTHONPATH2 a PYTHONPATH3 do souboru ~ / .bash_profile a na konec přidejte následující aliasy:
alias python = 'export PYTHONPATH = $ {PYTHONPATH2}; python'
alias python3 = 'exportovat PYTHONPATH = $ {PYTHONPATH3}; python3'
Můj python (odkazuje na python2), protože používám python2 častěji.
|
Kdykoli jsem dostal tento problém:
AttributeError: modul 'enum' nemá žádný atribut 'IntFlag'
jednoduše nejprve spustím příkaz:
zrušit nastavení PYTHONPATH
a poté spusťte požadovaný příkaz a v tom měl úspěch.
|
Udělal jsem to pomocí pip install  --ignore-installed enum34
Jakmile je požadovaná knihovna nainstalována, podívejte se během sestavování na upozornění.
Mám takovou chybu: Používání staršího setup.py instalace pro budoucnost, protože balíček 'wheel' není nainstalován ERROR: pyejabberd 0.2.11 má požadavek enum34 == 1.1.2, ale budete mít enum34 1.1.10, což je nekompatibilní .
Chcete-li tento problém vyřešit, spusťte příkaz: pip freeze | grep enum34. Získáte tak verzi nainstalovaného enum34. Nyní jej odinstalujte pomocí pip uninstall enum34 a znovu nainstalujte požadovanou verzi jako pip install "enum34 == 1.1.20"
|
Pokud máte tento problém při provádění testů v PyCharm, ujistěte se, že druhé políčko není zaškrtnuto vkonfigurace.
|
V počítači mám nainstalované Python 2 a Python 3. Z nějakého podivného důvodu mám v sys.path Pythonu 3 také cestu k adresáři knihovny sitepackage v Pythonu2, když se volá re modul. Pokud spustím Python 3 a importuji enum a print (enum .__ file__), systém neukáže tuto cestu Pythonu 2 k webovým balíčkům. Velmi drsný a špinavý hack je tedy přímá úprava modulu, do kterého se enum importuje (postupujte podle tras zpětných tras), a vložte následující kód těsně před importem enum:
import sys
pro i, p ve výčtu (sys.path):
pokud „python27“ v p.lower () nebo „python2.7“ v p.lower (): sys.path.pop (i)
importovat výčet
To vyřešilo můj problém.
|
Dokonce jsem měl tento problém při spuštění python -m grpc_tools.protoc --version
Musel nastavit PYTHONPATH do balíčků webů a vypnout všechna okna příkazového řádku a fungovalo to. Doufám, že to pomůže uživatelům gRPC.
|
Měl jsem tento problém v ubuntu20.04 v jupyterlabu v mém virtuálním jádru env s python3.8 a tensorflow 2.2.0. Chybová zpráva byla
Traceback (poslední hovor poslední):
Soubor "/usr/lib/python2.7/runpy.py", řádek 174, v _run_module_as_main
"__main__", fname, loader, pkg_name)
Soubor "/usr/lib/python2.7/runpy.py", řádek 72, v _run_code
exec kód v run_globals
Soubor "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel_launcher.py", řádek 15, v 
z ipykernel importovat kernelapp jako aplikaci
Soubor "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel/__init__.py", řádek 2, v 
z .connect import *
Soubor "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel/connect.py", řádek 13, v 
z IPython.core.profiledir importovat ProfileDir
Soubor "/home/hu-mka/.local/lib/python2.7/site-packages/IPython/__init__.py", řádek 48, v 
z aplikace .core.application import
Soubor "/home/hu-mka/.local/lib/python2.7/site-packages/IPython/core/application.py", řádek 23, v 
z aplikace traitlets.config.application import, catch_config_error
Soubor „/home/hu-mka/.local/lib/python2.7/site-packages/traitlets/__init__.py“, řádek 1, v 
z .traitlets import *
Soubor "/home/hu-mka/.local/lib/python2.7/site-packages/traitlets/traitlets.py", řádek 49, v 
importovat výčet
ImportError: Žádný modul s názvem enum
problém byl v tom, že v symbolickém odkazu v / usr / bin / python ukazoval na python2. Řešení:
cd / usr / bin /
sudo ln -sf python3 python
Doufejme, že využití Pythonu 2 brzy úplně odpadne.
|
Tento problém jsem dostal při instalaci knihovny transformátorů z HuggingFace. Bylo to kvůli tomu, že v mém prostředí byl nainstalován balíček enum34, který převažoval nad zabudovaným enumem v Pythonu. Tento balíček byl pravděpodobně nainstalován něčím, co se týká dopředné kompatibility, která již není v Pythonu 3.6+ nutná. Takže řešení je jednoduše,
pip uninstall -y enum34
|
Bohužel mi žádný z návrhů nepomohl, ale po dalším googlení to
pip install aenum
vyřešil to za mě
|
Pokud někdo má tento problém při pokusu o spuštění jádra Jupyter z virtualenv, stačí přidat správný PYTHONPATH do kernel.json vašeho virtuálního jádra (například Python 3):
{
"argv": [
"/usr/local/Cellar/python/3.6.5/bin/python3.6",
"-m",
"ipykernel_launcher",
"-F",
„{connection_file}“
],
"display_name": "Python 3 (TensorFlow)",
"language": "python",
"env": {
"PYTHONPATH": "/Users/dimitrijer/git/mlai/.venv/lib/python3.6:/Users/dimitrijer/git/mlai/.venv/lib/python3.6/lib-dynload:/usr/local/ Cellar / python / 3.6.5 / Frameworks / Python.framework / Versions / 3.6 / lib / python3.6: /Users/dimitrijer/git/mlai/.venv/lib/python3.6/site-packages "
}
}
|
Tvoje odpověď
StackExchange.ifUsing ("editor", function () {
StackExchange.using ("externalEditor", function () {
StackExchange.using ("snippets", function () {
StackExchange.snippets.init ();
});
});
}, „code-snippets“);
StackExchange.ready (funkce () {
var channelOptions = {
tagy: "" .split (""),
id: "1"
};
initTagRenderer ("". split (""), "" .split (""), channelOptions);
StackExchange.using ("externalEditor", function () {
// Je nutné po úryvcích vypálit editor, pokud jsou úryvky povoleny
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using ("snippets", function () {
createEditor ();
});
}
else {
createEditor ();
}
});
funkce createEditor () {
StackExchange.prepareEditor ({
useStacksEditor: false,
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by \ u003ca href = \" https: //imgur.com/ \ "\ u003e \ u003csvg class = \" svg-icon \ "width = \" 50 \ "height = \" 18 \ "viewBox = \ "0 0 50 18 \" fill = \ "none \" xmlns = \ "http: //www.w3.org/2000/svg \" \ u003e \ u003cpath d = \ "M46.1709 9.17788C46.1709 8.26454 46,2665 7,94324 47,1084 7,58816C47.4091 7,46349 47,7169 7,36433 48,0099 7,26993C48,9099 6,97997 49,672 6,73443 49,672 5,93063C49,672 5,22043 48,98324,61182 48,1414 4,61182C47,4335 4,61182 46,7256 4,91628 46,0943 5,50789C45,7307 4,9328 45,2525 4,66231 44,6595 4,66231C43,6264 4,66231 43,1481 5,4888 21 43,1481 6,9048V11,9512C43.1481 13,2535 432,286 13,286 / \ u003e \ u003cpath d = \ "M32.492 10.1419C32.492 12.6954 34.1182 14.0484 37.0451 14.0484C39.9723 14.0484 41.5985 12.6954 41.5985 10.1419V6.59049C41.5985 5.28821 41.1394 4.66232 40.1062 4266 6238 .5948 10.8521 38.2696 11.5455 37.0451 11.5455C35.8209 11.5455 35.4954 10.8521 35.4954 9.60062V6.59049C35.4954 5.28821 35.0173 4.66232 34.0034 4.66232C32.9703 4.66232 32.492 5.28821 32.492 6.59049 \ 1000 \ \ "clip-rule = \" evenodd \ "d = \" M25.6622 17.6335C27.8049 17.6335 29.3739 16.9402 30.2537 15.6379C30.8468 14.7755 30.9615 13.5579 30.9615 11.9512V6.59049C30.9615 5.28821 30.4833 4.66231 29.4502 4.66231 29.4502 4.66231 4,9497 8 28.1109 5.50789C27.499 4.86533 26.7335 4.56087 25.7005 4.56087C23.1369 4.56087 21.0134 6.57349 21.0134 9.27932C21.0134 11.9852 23.003 13.913 25.3754 13.913C26.5612 13.913 27.4607 13.4902 28.1109 12.66168281 281,101 12,983 C28.1301 14,4373 27,2502 15,2321 25,777 15,2321C24,8349 15,2321 24,1352 14,9821 23,5661 14,7787 C23,176 14,6393 22,8472 14,5218 22,5437 14,5218C21,7977 14,5218 21,2429 15,0123 21,2429 15,68,23 17,244 21,244 7,09766 26,1024 7,09766C27.2119 7,09766 28,0918 7,94324 28,0918 9,27932C28.0918 10,6321 27,2311 11,5116 26,1024 11,5116C24,9737 11,5116 24,1317 10,6491 24,1317 9,29232Z \ "/ \ u003e \ u003c2,16 13,16 13,16" 13,8962C19,3298 13,8962 19,8079 13,2535 19,8079 11,9512V8.12928C19.8079 5,82936 18,4879 4,62866 16,4027 4,62866C15.1594 4,62866 14,279 4,98375 13,3609 5,88013C12,653 5,05154 116581 4,62866 10,3573 4,62866C9,34336 4,62866 8,57809 4,89931 7,94666 5,5079C7,58314 4,9328 7,10506 4,66232 6,51203 4,66232C5,47873 4,66232 5,00066 5,2881 500066 6,59049V11,9512C5,00066 13,2535 5,472 312,82 2,328 2,32 0232 7,58817 8,44431 6,91179 9,53458 6,91179C10.5104 6,91179 10,893 7,58817 10,893 8,94108V11,9512C10,893 13,2535 11,3711 13,8962 12,4044 13,8962C13,4375 13,8962 13,9157 13,2535 13,9157 11,9512V13,15 V11.9512Z \ "/ \ u003e \ u003cpath d = \" M3.31675 6.59049C3.31675 5.28821 2.83866 4.66232 1.82471 4.66232C0.791758 4.66232 0,313354 5,2881 21,313354 6,59049V11.9512C0.313354 13,2535 0,79172 13,286 2,8162,896 3,31675 11,9512V6,59049Z \ "/ \ u003e \ u003cpath d = \" M1.87209 0,400291C0,843612 0,400291 0 1,1159 0 1,98861C0 2,87869 0,822846 3,57676 1,87209 3,57676C2.90056 3,57676 3,7234 2,87869 3,7234 1,98861C3,7234 1,1159 2,90056 0,400291 1,87209 0,400291Z \ "fill = \" # 1BB76E \ "/ \ u003e \ u003c / svg \ u003e \ u003c / a \ u003e",
contentPolicyHtml: "Uživatelské příspěvky jsou licencovány pod \ u003ca href = \" https: //stackoverflow.com/help/licensing \ "\ u003ecc by-sa \ u003c / a \ u003e \ u003ca href = \" https://stackoverflow.com / legal / content-policy \ "\ u003e (obsahová politika) \ u003c / a \ u003e",
allowUrls: true
},
onDemand: pravda,
discardSelector: ".discard-answer"
, okamžitěShowMarkdownHelp: true, enableTables: true, enableSnippets: true
});
}
});
Děkujeme, že jste přispěli odpovědí na Stack Overflow!
Nezapomeňte na otázku odpovědět. Uveďte podrobnosti a sdílejte svůj výzkum!
Ale vyhnout se ...
Žádáme o pomoc, objasnění nebo reagujeme na další odpovědi.
Vytváření prohlášení na základě názoru; podpořte je referencemi nebo osobními zkušenostmi.
Další informace najdete v našich tipech na psaní skvělých odpovědí.
Koncept uložen
Koncept zahozen
Zaregistrujte se nebo se přihlaste
StackExchange.ready (funkce () {
StackExchange.helpers.onClickDraftSave ('# login-link');
});
Zaregistrujte se pomocí Google
Zaregistrujte se pomocí Facebooku
Zaregistrujte se pomocí e-mailu a hesla
Předložit
Zveřejněte jako host
název
E-mailem
Povinné, ale nikdy zobrazené
StackExchange.ready (
funkce () {
StackExchange.openid.initPostLogin ('. New-post-login', 'https% 3a% 2f% 2fstackoverflow.com% 2fquestions% 2f43124775% 2fwhy-python-3-6-1-throws-attributeerror-module-enum-has- no-attribute-intflag% 23new-answer ',' question_page ');
}
);
Zveřejněte jako host
název
E-mailem
Povinné, ale nikdy zobrazené
Zveřejněte svou odpověď
Vyřadit
Kliknutím na „Odeslat odpověď“ vyjadřujete souhlas s našimi podmínkami služby, zásadami ochrany osobních údajů a zásadami používání souborů cookie
Toto není odpověď, kterou hledáte? Přečtěte si další otázky týkající se značek python python-3.x enums python-3.6 attributeerror nebo položte vlastní otázku.